package com.wicket.okrapp.web.contorller;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.biz.service.ChangeColumnService;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/changeColumn/")
public class ChangeColumnController {
    @Autowired
    ChangeColumnService  changeColumnService;
/**
   * D3-13新增业务应用变更字段(公共)
   */
    @PostMapping("addBizAppChangeColCom")
    public OkrResult<AddBizAppChangeColComRespDto> addBizAppChangeColCom(@RequestBody @Validated AddBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.addBizAppChangeColCom(reqDTO));
    }
/**
   * D3执行变更字段评价模板删除批次处理(公共)
   */
    @PostMapping("implementChangeColEvaDeleteBatchCom")
    public OkrResult<ImplementChangeColEvaDeleteBatchComRespDto> implementChangeColEvaDeleteBatchCom(@RequestBody @Validated ImplementChangeColEvaDeleteBatchComReqDto reqDTO){
    return OkrResult.success(changeColumnService.implementChangeColEvaDeleteBatchCom(reqDTO));
    }
/**
   * D3执行变更字段评价模板发布批次处理(公共)
   */
    @PostMapping("implementChangeColEvaPublishBatchCom")
    public OkrResult<ImplementChangeColEvaPublishBatchComRespDto> implementChangeColEvaPublishBatchCom(@RequestBody @Validated ImplementChangeColEvaPublishBatchComReqDto reqDTO){
    return OkrResult.success(changeColumnService.implementChangeColEvaPublishBatchCom(reqDTO));
    }
/**
   * D3-13存档业务应用变更字段(公共)
   */
    @PostMapping("archiveBizAppChangeColCom")
    public OkrResult<ArchiveBizAppChangeColComRespDto> archiveBizAppChangeColCom(@RequestBody @Validated ArchiveBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.archiveBizAppChangeColCom(reqDTO));
    }
/**
   * D3-13批量删业务应用变更字段(公共)
   */
    @PostMapping("batchDeleteBizAppChangeColCom")
    public OkrResult<BatchDeleteBizAppChangeColComRespDto> batchDeleteBizAppChangeColCom(@RequestBody @Validated BatchDeleteBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.batchDeleteBizAppChangeColCom(reqDTO));
    }
/**
   * D3批量回写业务应用变更字段(公共)
   */
    @PostMapping("batchWriteBackBizAppChangeColCom")
    public OkrResult<BatchWriteBackBizAppChangeColComRespDto> batchWriteBackBizAppChangeColCom(@RequestBody @Validated BatchWriteBackBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.batchWriteBackBizAppChangeColCom(reqDTO));
    }
/**
   * D3-13查询业务应用变更字段列表
   */
    @PostMapping("queryBizAppChangeColList")
    public OkrResult<QueryBizAppChangeColListRespDto> queryBizAppChangeColList(@RequestBody @Validated QueryBizAppChangeColListReqDto reqDTO){
    return OkrResult.success(changeColumnService.queryBizAppChangeColList(reqDTO));
    }
/**
   * D3修订业务应用变更字段(公共)
   */
    @PostMapping("reviseBizAppChangeColCom")
    public OkrResult<ReviseBizAppChangeColComRespDto> reviseBizAppChangeColCom(@RequestBody @Validated ReviseBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.reviseBizAppChangeColCom(reqDTO));
    }
/**
   * D3-13撤销存档业务应用变更字段(公共)
   */
    @PostMapping("undoArchiveBizAppChangeColCom")
    public OkrResult<UndoArchiveBizAppChangeColComRespDto> undoArchiveBizAppChangeColCom(@RequestBody @Validated UndoArchiveBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.undoArchiveBizAppChangeColCom(reqDTO));
    }
/**
   * D3-判断业务应用重置修订元素
   */
    @PostMapping("judgeAppReviseElement")
    public OkrResult<JudgeAppReviseElementRespDto> judgeAppReviseElement(@RequestBody @Validated JudgeAppReviseElementReqDto reqDTO){
    return OkrResult.success(changeColumnService.judgeAppReviseElement(reqDTO));
    }
/**
   * D3-13删除业务应用变更字段(公共)
   */
    @PostMapping("deleteBizAppChangeColCom")
    public OkrResult<DeleteBizAppChangeColComRespDto> deleteBizAppChangeColCom(@RequestBody @Validated DeleteBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.deleteBizAppChangeColCom(reqDTO));
    }
/**
   * D3撤销修订业务应用变更字段(公共)
   */
    @PostMapping("undoReviseBizAppChangeColCom")
    public OkrResult<UndoReviseBizAppChangeColComRespDto> undoReviseBizAppChangeColCom(@RequestBody @Validated UndoReviseBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.undoReviseBizAppChangeColCom(reqDTO));
    }
/**
   * D3-新增指标变更字段等(公共)
   */
    @PostMapping("addTargetObjChangeRecordEtcCom")
    public OkrResult<AddTargetObjChangeRecordEtcComRespDto> addTargetObjChangeRecordEtcCom(@RequestBody @Validated AddTargetObjChangeRecordEtcComReqDto reqDTO){
    return OkrResult.success(changeColumnService.addTargetObjChangeRecordEtcCom(reqDTO));
    }
/**
   * D3执行循环记录变更字段(公共)
   */
    @PostMapping("implementLoopTargetChangeColCom")
    public OkrResult<ImplementLoopTargetChangeColComRespDto> implementLoopTargetChangeColCom(@RequestBody @Validated ImplementLoopTargetChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.implementLoopTargetChangeColCom(reqDTO));
    }
/**
   * D3执行单一合并业务应用变更字段(公共)
   */
    @PostMapping("implementSingleMergebizAppChangeColCom")
    public OkrResult<ImplementSingleMergebizAppChangeColComRespDto> implementSingleMergebizAppChangeColCom(@RequestBody @Validated ImplementSingleMergebizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.implementSingleMergebizAppChangeColCom(reqDTO));
    }
/**
   * D3执行数据集合并业务应用变更字段(公共)
   */
    @PostMapping("implementDataSetMergebizAppChangeColCom")
    public OkrResult<ImplementDataSetMergebizAppChangeColComRespDto> implementDataSetMergebizAppChangeColCom(@RequestBody @Validated ImplementDataSetMergebizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.implementDataSetMergebizAppChangeColCom(reqDTO));
    }
/**
   * D3批量撤销业务应用变更字段(公共)
   */
    @PostMapping("batchUndoBizAppChangeColCom")
    public OkrResult<BatchUndoBizAppChangeColComRespDto> batchUndoBizAppChangeColCom(@RequestBody @Validated BatchUndoBizAppChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.batchUndoBizAppChangeColCom(reqDTO));
    }
/**
   * D3-新增目标内容变更字段等(公共)
   */
    @PostMapping("addTargetContChangeRecordEtcCom")
    public OkrResult<AddTargetContChangeRecordEtcComRespDto> addTargetContChangeRecordEtcCom(@RequestBody @Validated AddTargetContChangeRecordEtcComReqDto reqDTO){
    return OkrResult.success(changeColumnService.addTargetContChangeRecordEtcCom(reqDTO));
    }
/**
   * D3执行权重循环记录变更字段(公共)
   */
    @PostMapping("implementWeightLoopTargetChangeColCom")
    public OkrResult<ImplementWeightLoopTargetChangeColComRespDto> implementWeightLoopTargetChangeColCom(@RequestBody @Validated ImplementWeightLoopTargetChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.implementWeightLoopTargetChangeColCom(reqDTO));
    }
/**
   * D3新增修订单字段变更记录(公共)
   */
    @PostMapping("addReviseSingleChangeColCom")
    public OkrResult<AddReviseSingleChangeColComRespDto> addReviseSingleChangeColCom(@RequestBody @Validated AddReviseSingleChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.addReviseSingleChangeColCom(reqDTO));
    }
/**
   * D3新增回退操作变更记录(公共)
   */
    @PostMapping("addRollbackOperateChangeColCom")
    public OkrResult<AddRollbackOperateChangeColComRespDto> addRollbackOperateChangeColCom(@RequestBody @Validated AddRollbackOperateChangeColComReqDto reqDTO){
    return OkrResult.success(changeColumnService.addRollbackOperateChangeColCom(reqDTO));
    }
/**
   * D3批量删目标内容变更字段等(公共)
   */
    @PostMapping("batchDeleteTargetContChangeRecordEtcCom")
    public OkrResult<BatchDeleteTargetContChangeRecordEtcComRespDto> batchDeleteTargetContChangeRecordEtcCom(@RequestBody @Validated BatchDeleteTargetContChangeRecordEtcComReqDto reqDTO){
    return OkrResult.success(changeColumnService.batchDeleteTargetContChangeRecordEtcCom(reqDTO));
    }
}
  